package com.dwxt.community.dao;

import com.dwxt.community.entity.TrashIntegralRecoad;
import com.dwxt.community.entity.TrashIntegralRecoadExample;
import java.util.List;

import com.dwxt.community.entity.User;
import com.dwxt.community.entity.vo.TrashIntegralRecoadVo;
import org.apache.ibatis.annotations.Param;

public interface TrashIntegralRecoadMapper {
    int countByExample(TrashIntegralRecoadExample example);

    int deleteByExample(TrashIntegralRecoadExample example);

    int deleteByPrimaryKey(Integer tirId);

    int insert(TrashIntegralRecoad record);

    int insertSelective(TrashIntegralRecoad record);

    List<TrashIntegralRecoad> selectByExample(TrashIntegralRecoadExample example);

    TrashIntegralRecoad selectByPrimaryKey(Integer tirId);

    int updateByExampleSelective(@Param("record") TrashIntegralRecoad record, @Param("example") TrashIntegralRecoadExample example);

    int updateByExample(@Param("record") TrashIntegralRecoad record, @Param("example") TrashIntegralRecoadExample example);

    int updateByPrimaryKeySelective(TrashIntegralRecoad record);

    int updateByPrimaryKey(TrashIntegralRecoad record);



    List<TrashIntegralRecoad> selectByHomeAddr(@Param("user") User user,
                                               @Param("type") Integer type,
                                               @Param("str") String str,
                                               @Param("end") String end);

    List<TrashIntegralRecoadVo> selectByDelivererId(@Param("delivererId") String delivererId,
                                                    @Param("type") Integer type,
                                                    @Param("str") String str,
                                                    @Param("end") String end);

    List<TrashIntegralRecoadVo> selectTrashTodayData(@Param("user") User user,
                                                     @Param("type") Integer type,
                                                     @Param("str") String str,
                                                     @Param("end") String end);

    int sumIntegralByHouseaddr(@Param("user") User user, @Param("todayDate") String todayDate);

    List<TrashIntegralRecoadVo> selectAll(TrashIntegralRecoadVo trashIntegralRecoad);

    int batchInsert(@Param("trashIntegralRecoads") List<TrashIntegralRecoad> trashIntegralRecoads);

    int countIntegralByHouseaddr(@Param("user") User user, @Param("type") Integer type, @Param("week") Integer week);

    TrashIntegralRecoad selectById(Integer id);

    Integer selectTrashTimeCount(int hour);

    Integer selectTrashNumberCount(Integer value);

    Integer selectRateCount(@Param("min") Integer min, @Param("max") Integer max);

    List<TrashIntegralRecoadVo> countByFamilyAddr(@Param("communityName")String communtiyName, @Param("type")String type,
                                                  @Param("officer")Integer officer,
                                                  @Param("str")String str,
                                                  @Param("end")String end,
                                                  @Param("desc")String desc);
}